The present disclosure relates to a method for programming a programmable logic controller for controlling at least one energy consumer of a machine.
The disclosure deals with the simplified implementation of energy management in machines with programmable logic controllers (PLC), in particular with possibilities for the simpler programming of a PLC.
In systems which are intended to be optimized with respect to the energy consumption using energy management, there is at least one energy consumer which consumes a different amount of energy in different energy modes, the energy modes being able to be specified. Examples of these are blowers whose speed can be controlled and which are switched off in operating pauses, servo drives whose power supply is switched off during standstill, or heating systems which are operated with a lower desired temperature value in operating pauses. Energy modes are characterized by many characteristic numbers. These are, for example, energy consumption in the respective mode, time needed to change between the modes, energy consumption during the transition operation, minimum/maximum residence times. In addition, there are so-called energy profiles in communication systems, that is to say agreements relating to specified data and their formats. Examples which may be mentioned here are “sercos Energy” or “PROFIEnergy”.
Inside the controllers which manage energy, these states are handled in the energy management entity (program part). For this purpose, there are two fundamental energy management functionalities, energy monitoring (energy consumption determination) and energy mode specification. These functionalities can be modeled, for example, in PLCs using functional modules which are processed in the context of the PLC (PLC program). Functional modules usually each contain one or more technologically or functionally associated program instructions. A complete PLC program is generally composed of a plurality of functional modules, in which case the individual modules can be input in different languages based on the PLC application. Functional modules can be supplied with different data with each call (so-called entities) using associated entity data modules.
The entire energy management can be implemented as a program or functional module in conjunction with a declared data structure containing all required energy management data. In this case, the data may be declared in a global list of variables, that is to say they are visible to and can be changed for all PLC program parts.
A suitable data structure may comprise configuration data for the machine (for example list of all energy modes of the machine), configuration data for the energy consumers (so-called devices) (for example list of all energy modes of the devices with their energy consumptions and transition times), HMI data (for example actual energy consumption of the devices), energy management control data (for example desired energy mode, pause time), energy management status data (for example actual energy mode of the machine or of all devices).
The interface to the (higher-level) application program or logic of the energy mode management etc. may be handled using the data structure in this case. The interface to the (lower-level) devices with respect to the control status of the device states can likewise be handled using the data structure (for example using a device application program). The interface to the HMI can also be handled using the data structure.
In this case, the data structure may comprise all data for all energy modes or devices such that the data structure comprises the entire volume of data for maximum expansion from the start, that is to say the storage requirement is tied to the maximum expansion defined.
The disadvantage of such a solution is, in particular, a lack of scalability. In most cases, the data structure is also much too large since the machine being operated usually has not been expanded to the maximum extent. It is particularly disadvantageous that there is a huge and vast pool of variables in which the programmer easily loses track and is undecided as regards which variables he can write or read and which variables are used only internally. The implementation of additional functionalities is very complicated.
It is therefore desirable to simplify the programming of the energy management of a machine.